home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / libelf / elf_getehdr.z / elf_getehdr
Encoding:
Text File  |  1998-10-30  |  10.9 KB  |  131 lines

  1.  
  2.  
  3.  
  4. EEEELLLLFFFF____GGGGEEEETTTTEEEEHHHHDDDDRRRR((((3333EEEE))))                                                EEEELLLLFFFF____GGGGEEEETTTTEEEEHHHHDDDDRRRR((((3333EEEE))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _eeee_llll_ffff______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr: _eeee_llll_ffff_3333_2222______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr, _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr, _eeee_llll_ffff_6666_4444______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr, _eeee_llll_ffff_6666_4444______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr -
  10.      retrieve class-dependent object file header
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      _cccc_cccc [_f_l_a_g ...] _f_i_l_e ...  _----_llll_eeee_llll_ffff [_l_i_b_r_a_r_y ...]
  14.  
  15.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_eeee_llll_ffff_...._hhhh_>>>>
  16.      _EEEE_llll_ffff_3333_2222______EEEE_hhhh_dddd_rrrr _****_eeee_llll_ffff_3333_2222______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_))))_;;;;
  17.      _EEEE_llll_ffff_3333_2222______EEEE_hhhh_dddd_rrrr _****_eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_))))_;;;;
  18.      _EEEE_llll_ffff_6666_4444______EEEE_hhhh_dddd_rrrr _****_eeee_llll_ffff_6666_4444______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_))))_;;;;
  19.      _EEEE_llll_ffff_6666_4444______EEEE_hhhh_dddd_rrrr _****_eeee_llll_ffff_6666_4444______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_))))_;;;;
  20.  
  21. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  22.      For a 32-bit class file, _eeee_llll_ffff_3333_2222______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr returns a pointer to an ELF
  23.      header, if one is available for the ELF descriptor _e_l_f.  If no header
  24.      exists for the descriptor, _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr allocates a ``clean'' one, but
  25.      it otherwise behaves the same as _eeee_llll_ffff_3333_2222______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr.  It does not allocate a
  26.      new header if one exists already.  If no header exists (for _eeee_llll_ffff______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr),
  27.      one cannot be created (for _eeee_llll_ffff______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr), a system error occurs, the file
  28.      is not a 32-bit class file, or _e_l_f is null, both functions return a null
  29.      pointer.
  30.  
  31.      For 64-bit class files, the _6666_4444 version is applicable instead of the _3333_2222
  32.      version of the functions.
  33.  
  34.      The header includes the following members.
  35.  
  36.                   _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _cccc_hhhh_aaaa_rrrr   _eeee______iiii_dddd_eeee_nnnn_tttt_[[[[_EEEE_IIII______NNNN_IIII_DDDD_EEEE_NNNN_TTTT_]]]]_;;;;
  37.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______tttt_yyyy_pppp_eeee_;;;;
  38.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______mmmm_aaaa_cccc_hhhh_iiii_nnnn_eeee_;;;;
  39.                   _EEEE_llll_ffff_3333_2222______WWWW_oooo_rrrr_dddd      _eeee______vvvv_eeee_rrrr_ssss_iiii_oooo_nnnn_;;;;
  40.                   _EEEE_llll_ffff_3333_2222______AAAA_dddd_dddd_rrrr      _eeee______eeee_nnnn_tttt_rrrr_yyyy_;;;;
  41.                   _EEEE_llll_ffff_3333_2222______OOOO_ffff_ffff       _eeee______pppp_hhhh_oooo_ffff_ffff_;;;;
  42.                   _EEEE_llll_ffff_3333_2222______OOOO_ffff_ffff       _eeee______ssss_hhhh_oooo_ffff_ffff_;;;;
  43.                   _EEEE_llll_ffff_3333_2222______WWWW_oooo_rrrr_dddd      _eeee______ffff_llll_aaaa_gggg_ssss_;;;;
  44.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______eeee_hhhh_ssss_iiii_zzzz_eeee_;;;;
  45.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______pppp_hhhh_eeee_nnnn_tttt_ssss_iiii_zzzz_eeee_;;;;
  46.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______pppp_hhhh_nnnn_uuuu_mmmm_;;;;
  47.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______ssss_hhhh_eeee_nnnn_tttt_ssss_iiii_zzzz_eeee_;;;;
  48.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______ssss_hhhh_nnnn_uuuu_mmmm_;;;;
  49.                   _EEEE_llll_ffff_3333_2222______HHHH_aaaa_llll_ffff      _eeee______ssss_hhhh_ssss_tttt_rrrr_nnnn_dddd_xxxx_;;;;
  50.  
  51.      For 64-bit class files, the following is applicable.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                                                         PPPPaaaaggggeeee 1111
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. EEEELLLLFFFF____GGGGEEEETTTTEEEEHHHHDDDDRRRR((((3333EEEE))))                                                EEEELLLLFFFF____GGGGEEEETTTTEEEEHHHHDDDDRRRR((((3333EEEE))))
  69.  
  70.  
  71.  
  72.                   _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _cccc_hhhh_aaaa_rrrr   _eeee______iiii_dddd_eeee_nnnn_tttt_[[[[_EEEE_IIII______NNNN_IIII_DDDD_EEEE_NNNN_TTTT_]]]]_;;;;
  73.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______tttt_yyyy_pppp_eeee_;;;;
  74.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______mmmm_aaaa_cccc_hhhh_iiii_nnnn_eeee_;;;;
  75.                   _EEEE_llll_ffff_6666_4444______WWWW_oooo_rrrr_dddd      _eeee______vvvv_eeee_rrrr_ssss_iiii_oooo_nnnn_;;;;
  76.                   _EEEE_llll_ffff_6666_4444______AAAA_dddd_dddd_rrrr      _eeee______eeee_nnnn_tttt_rrrr_yyyy_;;;;
  77.                   _EEEE_llll_ffff_6666_4444______OOOO_ffff_ffff       _eeee______pppp_hhhh_oooo_ffff_ffff_;;;;
  78.                   _EEEE_llll_ffff_6666_4444______OOOO_ffff_ffff       _eeee______ssss_hhhh_oooo_ffff_ffff_;;;;
  79.                   _EEEE_llll_ffff_6666_4444______WWWW_oooo_rrrr_dddd      _eeee______ffff_llll_aaaa_gggg_ssss_;;;;
  80.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______eeee_hhhh_ssss_iiii_zzzz_eeee_;;;;
  81.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______pppp_hhhh_eeee_nnnn_tttt_ssss_iiii_zzzz_eeee_;;;;
  82.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______pppp_hhhh_nnnn_uuuu_mmmm_;;;;
  83.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______ssss_hhhh_eeee_nnnn_tttt_ssss_iiii_zzzz_eeee_;;;;
  84.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______ssss_hhhh_nnnn_uuuu_mmmm_;;;;
  85.                   _EEEE_llll_ffff_6666_4444______HHHH_aaaa_llll_ffff      _eeee______ssss_hhhh_ssss_tttt_rrrr_nnnn_dddd_xxxx_;;;;
  86.  
  87.      _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr automatically sets the _EEEE_LLLL_FFFF______FFFF______DDDD_IIII_RRRR_TTTT_YYYY bit [see _eeee_llll_ffff______ffff_llll_aaaa_gggg(3E)].
  88.      A program may use _eeee_llll_ffff______gggg_eeee_tttt_iiii_dddd_eeee_nnnn_tttt to inspect the identification bytes from a
  89.      file.
  90.  
  91.      The 64-bit class works identically, simply replacing all instances of 32
  92.      in the description with 64.
  93.  
  94. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  95.      _eeee_llll_ffff(3E), _eeee_llll_ffff______bbbb_eeee_gggg_iiii_nnnn(3E), _eeee_llll_ffff______ffff_llll_aaaa_gggg(3E), _eeee_llll_ffff______gggg_eeee_tttt_iiii_dddd_eeee_nnnn_tttt(3E).
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                                                                         PPPPaaaaggggeeee 2222
  128.  
  129.  
  130.  
  131.